shorthand: use array values for shorthand properties parsing
authorCosimo Cecchi <cosimoc@gnome.org>
Fri, 11 May 2012 18:30:07 +0000 (14:30 -0400)
committerCosimo Cecchi <cosimoc@gnome.org>
Tue, 15 May 2012 17:24:40 +0000 (13:24 -0400)
Right now, just parse the first value in the array.

gtk/gtkcssshorthandpropertyimpl.c

index fdcb2de6543e5641c352ed56980e641847bed80c..bb0d76888b1245cecfad5442844fa2462e303bbd 100644 (file)
@@ -459,6 +459,8 @@ parse_background (GtkCssShorthandProperty  *shorthand,
                   GtkCssValue             **values,
                   GtkCssParser             *parser)
 {
+  GtkCssValue *value;
+
   do
     {
       /* the image part */
@@ -477,27 +479,34 @@ parse_background (GtkCssShorthandProperty  *shorthand,
                 return FALSE;
             }
 
-          values[0] = _gtk_css_image_value_new (image);
+          values[0] = _gtk_css_array_value_new (_gtk_css_image_value_new (image));
         }
       else if (values[1] == NULL &&
-               (values[1] = _gtk_css_background_repeat_value_try_parse (parser)))
+               (value = _gtk_css_background_repeat_value_try_parse (parser)))
         {
-          /* nothing to do here */
+          values[1] = _gtk_css_array_value_new (value);
+          value = NULL;
         }
       else if ((values[2] == NULL || values[3] == NULL) &&
-               (values[3] = _gtk_css_area_value_try_parse (parser)))
+               (value = _gtk_css_area_value_try_parse (parser)))
         {
+          values[3] = _gtk_css_array_value_new (value);
+
           if (values[2] == NULL)
             {
               values[2] = values[3];
               values[3] = NULL;
             }
+          value = NULL;
         }
       else if (values[4] == NULL)
         {
-          values[4] = _gtk_css_symbolic_value_new (parser);
-          if (values[4] == NULL)
+          value = _gtk_css_symbolic_value_new (parser);
+          if (value == NULL)
             return FALSE;
+
+          values[4] = _gtk_css_array_value_new (value);
+          value = NULL;
         }
       else
         {